home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Macro assembler dev syst.adf / include / exec / tasks.i < prev    next >
Text File  |  1985-12-20  |  3KB  |  93 lines

  1.     IFND EXEC_TASKS_I
  2. EXEC_TASKS_I SET 1
  3. **********************************************************************
  4. *
  5. * Commodore-Amiga, Inc. -- ROM Operating System Executive Include File
  6. *
  7. **********************************************************************
  8. *
  9. *   Source Control:
  10. *
  11. *  $Header: tasks.i,v 1.0 85/08/28 15:14:32 carl Exp $
  12. *
  13. *  $Locker:  $
  14. *
  15. **********************************************************************
  16.  
  17.     IFND EXEC_NODES_I
  18.     INCLUDE "exec/nodes.i"
  19.     ENDC !EXEC_NODES_I
  20.  
  21.     IFND EXEC_LISTS_I
  22.     INCLUDE "exec/lists.i"
  23.     ENDC !EXEC_LISTS_I
  24.  
  25.  
  26. *----------------------------------------------------------------
  27. *
  28. *   Task Control Structure
  29. *
  30. *----------------------------------------------------------------
  31.  
  32.  STRUCTURE  TC,LN_SIZE
  33.     UBYTE   TC_FLAGS
  34.     UBYTE   TC_STATE
  35.     BYTE    TC_IDNESTCNT            * intr disabled nesting
  36.     BYTE    TC_TDNESTCNT            * task disabled nesting
  37.     ULONG   TC_SIGALLOC             * sigs allocated
  38.     ULONG   TC_SIGWAIT              * sigs we are waiting for
  39.     ULONG   TC_SIGRECVD             * sigs we have received
  40.     ULONG   TC_SIGEXCEPT            * sigs we take as exceptions
  41.     UWORD   TC_TRAPALLOC            * traps allocated
  42.     UWORD   TC_TRAPABLE             * traps enabled
  43.     APTR    TC_EXCEPTDATA           * data for except proc
  44.     APTR    TC_EXCEPTCODE           * exception procedure
  45.     APTR    TC_TRAPDATA             * data for proc trap proc
  46.     APTR    TC_TRAPCODE             * proc trap procedure
  47.     APTR    TC_SPREG                * stack pointer
  48.     APTR    TC_SPLOWER              * stack lower bound
  49.     APTR    TC_SPUPPER              * stack upper bound + 2
  50.     APTR    TC_SWITCH               * task losing CPU
  51.     APTR    TC_LAUNCH               * task getting CPU
  52.     STRUCT  TC_MEMENTRY,LH_SIZE     * allocated memory
  53.     APTR    TC_Userdata
  54.     LABEL   TC_SIZE
  55.  
  56.  
  57. *------ Flag Bits:
  58.  
  59.     BITDEF  T,PROCTIME,0
  60.     BITDEF  T,STACKCHK,4
  61.     BITDEF  T,EXCEPT,5
  62.     BITDEF  T,SWITCH,6
  63.     BITDEF  T,LAUNCH,7
  64.  
  65.  
  66. *------ Task States:
  67. TS_INVALID  EQU     0
  68. TS_ADDED    EQU     TS_INVALID+1
  69. TS_RUN      EQU     TS_ADDED+1
  70. TS_READY    EQU     TS_RUN+1
  71. TS_WAIT     EQU     TS_READY+1
  72. TS_EXCEPT   EQU     TS_WAIT+1
  73. TS_REMOVED  EQU     TS_EXCEPT+1
  74.  
  75.  
  76. *------ System Task Signals:
  77.  
  78. SIGF_ABORT  EQU   $0001
  79. SIGF_CHILD  EQU   $0002
  80. SIGF_BLIT   EQU   $0010
  81. SIGF_DOS    EQU   $0100
  82.  
  83. SIGB_ABORT  EQU   0
  84. SIGB_CHILD  EQU   1
  85. SIGB_BLIT   EQU   4
  86. SIGB_DOS    EQU   8
  87.  
  88.  
  89. SYS_SIGALLOC   EQU   $0FFFF      ; pre-allocated signals
  90. SYS_TRAPALLOC  EQU   $08000      ; pre-allocated traps
  91.  
  92.     ENDC !EXEC_TASKS_I
  93.